[QUOTE=gonzalolog;48841038]I can't understand why there's servers with this option disable, i know that this let people with vac ban play, but... this is not a cheater's nest too?[/QUOTE]
I think servers without VAC are also sometimes servers in which people with pirated copies of the game can play.
[QUOTE=gonzalolog;48841038]I can't understand why there's servers with this option disable, i know that this let people with vac ban play, but... this is not a cheater's nest too?[/QUOTE]
Well who ever has better hack wins, no?
[editline]6th October 2015[/editline]
[QUOTE=proboardslol;48840984]I wonder if you could write a ML aimbot; it uses image recognition to tell the difference between an enemy's head and the rest of the environment. Then knows the optimal area to aim in relation to that head to aim for a headshot; it does this without interacting with the executable of the game at all so no VAC ban; it just reads a videostream of the entire screen.[/QUOTE]
I was thinking same thing long time ago. Sure it would be very CPU/GPU intense, but turning down resolution could help a lot.
And using custom material for characters. You could mark the CT blue and give him red/green spots (on head, torso, etc) , and mark T red and give him blue/yellow spots.
[QUOTE=Fourier;48841702]Well who ever has better hack wins, no?
[editline]6th October 2015[/editline]
I was thinking same thing long time ago. Sure it would be very CPU/GPU intense, but turning down resolution could help a lot.
And using custom material for characters. You could mark the CT blue and give him red/green spots (on head, torso, etc) , and mark T red and give him blue/yellow spots.[/QUOTE]
I don't think you can play on offical servers with modified textures though.
[QUOTE=HumbleTH;48841974]I don't think you can play on offical servers with modified textures though.[/QUOTE]
Only if the servers use SV_PURE 1.
However I more often than not been on servers [I]in general[/I] with that disabled, just so people can use their own models and skins.
[QUOTE=Tamschi;48841009]I think you're mistaken, but I'm not sure if I can show it formally.
If a tile is further than 1 away from its ideal position then other tiles will also not be at [I]their[/I] goal position, increasing the distance to the correct value.
The 0 tile however always moves together with a different tile, and all other tiles move together with the 0 tile.
This means that if you count [I]swapping[/I] (i.e. moving the 0 tile [I]and[/I] one other tile by one [I]each[/I]) as having a cost of one, your distance heuristic should represent that as 0 being free to arrive at the same scale.
(You could however also increase the swap cost to 2 instead. This would again give you the correct relative scale, but it may branch differently while searching which may be better or worse.)
If you think about it, you still operate on a regular grid but in 4*4=16 dimensions, but effectively only with edges of cost=2 along diagonals in dimensions 0 and n != 0. Illegal moves represent obstructions between the states.
This immediately turns into to a plain cost=1 grid with axis-aligned edges if you remove dimension 0, and to match that you have to disregard tile 0 for the distance heuristic.
(The connection graph is exactly the same because the position of tile 0 is fully determined by the other 15, and as such no valid nodes in the 16-dimensional grid collide when projected into 15.)
A* will give the optimal solution on any spaces where the heuristic gives you the unobstructed distance, and while the two possible heuristics give seemingly different results at higher values they as you can see from the paragraph above still represent the same problem accurately once you take the no-stacking constraint into account.[/QUOTE]
I follow what you're saying for the most part, but I still don't think you can look at it that way.
Firstly, there are 4 different situations that can happen when you do a move.
The zero can get closer to the goal while the other number goes farther away from its.
The reverse situation.
They can both move closer to their destinations.
They can both move farther away.
I don't think I should only consider what happens to one of the tiles.
On the other hand, since it's position is determined by the rest of the tiles, I'm guessing it will at worst do nothing to remove it from the heuristic, and at best provide an improvement if your reasoning is correct.
As for looking at it as a 16 dimensional space, one move means that you swap two of the coordinates. This corresponds to flipping the current point around a hyper plane. Depending on the values of the coordinates it travels different distances and without thinking too much about it, I don't think that distance translates to anything meaningful in terms of the game rules.
While you can certainly remain at that perspective and just do a normal distance metric to the goal state, and that would probably provide optimal solutions, I don't think it would help with the execution time at all.
This heuristic works on a map because we assume that it's more likely to find an optimal path if you move in the correct general direction. In the case of this 16 dimensional space, moving in the direction of the goal state doesn't mean anything because a "correct" solution jumps around in all directions.
It's a shame that the smallest possible game that makes sense is 2x2 yet 4 dimensions is still too much to visualize.
[QUOTE=Rocket;48843024]I have a friend who was VAC banned in 2009. He's done a lot of growing in six and a half years (and he's no longer, well, eleven years old), so he doesn't cheat anymore. There's no way to appeal a VAC ban (which is dumb imo), so servers without VAC enabled mean he can still play the games he paid for.[/QUOTE]
The fact you can't appeal a VAC ban is the, er, appeal, of it.
I had a brilliant idea in the middle of the night. Rant has never had a way to do size comparisons between nouns or things like that, so I'm adding a set of carrier operators to make it possible to select, for example, a noun that is bigger than a previously selected noun. The possibilities with this new technology are staggering. Oh man.
[QUOTE=Rocket;48843280]I don't think you should be limited from playing the games you purchased because of a bad decision you made years ago.[/QUOTE]
imo they should just expire after a couple of years.
[QUOTE=Darkwater124;48843519]imo they should just expire after a couple of years.[/QUOTE]
Or in exchange for a kidney.
[QUOTE=Rocket;48843280]I don't think you should be limited from playing the games you purchased because of a bad decision you made years ago.[/QUOTE]
Its an effective deterrent
[QUOTE=Darwin226;48842516]I follow what you're saying for the most part, but I still don't think you can look at it that way.
Firstly, there are 4 different situations that can happen when you do a move.
The zero can get closer to the goal while the other number goes farther away from its.
The reverse situation.
They can both move closer to their destinations.
They can both move farther away.[/QUOTE]
This is equivalent to pathing in 2D with Manhattan distance where diagonals that cost 2 are also allowed in case the direct path to that tile is blocked: [code]# is a wall, A is the start, B is the end
#B
A#[/code]
[QUOTE]I don't think I should only consider what happens to one of the tiles.
On the other hand, since it's position is determined by the rest of the tiles, I'm guessing it will at worst do nothing to remove it from the heuristic, and at best provide an improvement if your reasoning is correct.[/QUOTE]
It depends. The problem specification is the same, but the heuristic is possibly different and I don't know which is better.
[QUOTE]As for looking at it as a 16 dimensional space, one move means that you swap two of the coordinates. This corresponds to flipping the current point around a hyper plane. Depending on the values of the coordinates it travels different distances and without thinking too much about it, I don't think that distance translates to anything meaningful in terms of the game rules.
While you can certainly remain at that perspective and just do a normal distance metric to the goal state, and that would probably provide optimal solutions, I don't think it would help with the execution time at all.
This heuristic works on a map because we assume that it's more likely to find an optimal path if you move in the correct general direction. In the case of this 16 dimensional space, moving in the direction of the goal state doesn't mean anything because a "correct" solution jumps around in all directions.
It's a shame that the smallest possible game that makes sense is 2x2 yet 4 dimensions is still too much to visualize.[/QUOTE]
Sorry, I was mistaken about the amount of dimensions: Due to the 2D layout it makes more sense to use double the dimensions, i.e. 2*4*4 = 32, or 30 without the explicit 0 tile.
You can unfold the 8/6 dimensions of 2x2 on paper since you only need the nodes, but it would be really ugly and involve a lot of curved lines.
It's possible to show it for a single coordinate cube with a 3x1 puzzle though:
[code]1.
x0x1x2 (e.g. 012 for the solution) are coordinate tuples of tiles 0, 1 and 2, defining a whole board state.
The full graph then looks as follows:
002-----102-----202
/| /| /|
001+----101+----201|
/| | /| | /| |
000+-+--100+-+--200| |
| | | | | | | | |
| |012--+-+112--+-+212
| |/| | |/| | |/|
|011+---+111+---+211|
|/| | |/| | |/| |
010+-+--110+-+--210| |
| | | | | | | | |
| |022--+-+122--+-+222
| |/ | |/ | |/
|021----+121----+221
|/ |/ |/
020-----120-----220
2.
Since you always switch tiles, you can only move across diagonals, in the following graphs represented through angled connections.
Any node that has stacked tiles is pruned:
+------102------+
| /| /
| +-+----201
| | /|
| | + |
| | | |
012------+ | |
/| | |
+ | | +
| | |/
| | +------210
| | | |
| + | |
|/ | |
021----+-+ |
/ |/ |
+------120------+
3.
Any connections that don't swap tile zero (the first digit) with an adjacent tile are removed:
+------102------+
| /| /
| +-+----201
| |
| |
| |
012------+
+------210
| |
| |
| |
021----+-+ |
/ |/ |
+------120------+
As you can see the graph broke into two parts. The lower part is unsolvable towards the correct solution, but both are quite obviously internally optimally solvable using A* with Manhattan distance as heuristic.[/code]
All valid diagonals move along the first axis and if you remove that axis there is no overlap among the valid nodes.
It's therefore possible (and a bit easier) to draw if I disregard that axis from the get-go:
[code]1.
x1x2 (e.g. 12 for the solution) are coordinate pairs of tiles 1 and 2, defining a whole board state.
The coordinate of tile 0 is implicitly the unused item in {0, 1, 2}.
The full graph then looks as follows:
00-01-02
| | |
10-11-12
| | |
20-21-22
(This equals looking at the above graph from the right.)
2.
Since you always only one other tile than tile 0, you can only move to direct neighbours.
Any node that has stacked tiles is pruned:
01-02
|
10 12
|
20-21
3. Any connections that don't swap tile zero (not shown) with an adjacent tile happen to be already removed in this case.
As you can see the graph broke into two parts. The lower part is unsolvable towards the correct solution, but both are quite obviously internally optimally solvable using A* with Manhattan distance as heuristic.[/code]
The picture at higher dimensions is a lot more complex, but the process is exactly the same, with each step only pruning and not distorting the graph.
This means A* remains perfectly compatible with the problem at higher dimensions too.
(I really need to make a library to draw these for me.)
[QUOTE=Rocket;48844635]It would be a more effective deterrent if they banned you from your Steam account forever, with no way to access any of your games. But neither one is a good idea and neither one is fair.[/QUOTE]
I don't see any way an appeals process to VAC would really work. What would constitute a valid appeal?
Honestly, if someone isn't willing to accept a £30 punishment for needing to buy the game again, then I doubt they've learned any lesson.
[QUOTE=Rocket;48844635]It would be a more effective deterrent if they banned you from your Steam account forever, with no way to access any of your games. But neither one is a good idea and neither one is fair.[/QUOTE]
Woah there satan, don't give them any ideas.
Besides its in the EULA. There might be some sort of law preventing them from straight preventing you from using everything you own. Preventing online interactions seems fine.
[QUOTE=Rocket;48845234]Or maybe they just... don't have any money, don't want to open two steam accounts, or just don't want that ban on their record?
An appeals process could work just by saying "I fucked up a long time ago, can I not be banned?" and then they can just VAC ban you again if you continue to cheat.
[editline]6th October 2015[/editline]
There's also been times that third-party non-cheat mods to games (Paranoia, HLamp, and others) have gotten people unjustly VAC banned and they haven't been rescinded.[/QUOTE]
Then don't cheat.
A huge majority people who have unjust vac bans have been removed by Valve and using those mods are against their rules so you shouldn't use them.
[QUOTE=Rocket;48845567]The punishment does not fit the crime.[/QUOTE]
Doesn't it? In professional sports if you are caught match throwing or taking drugs you are barred, often for life. People don't think that's unjust.
I think the punishment fits the crime perfectly. What other punishment do you think would be better? And what is necessary criteria to have a ban successfully appealed?
It's your fucking choice to cheat. It ruins the game for others and if you do it you deserve to have to buy the game again. It's not like it's that hard to tell it's not acceptable to do and you are warned when joining vac protected servers. But if a server decides to let vac banned players play, then I have no problem with it. Just keep the assholes out of my ranked games.
[QUOTE=Asgard;48840372]You know that feeling when you dive into a topic and suddenly you're in [I]way[/I] over your head? Now there's this hole in my knowledge and I can't let it go until I understand completely[/QUOTE]
I got started in programming, so I feel ya.
[QUOTE=Rocket;48846405]People do a lot of dumb things that they regret later. People are not always the most forward thinking, or the most logical, or mature. Sometimes people make mistakes.[/QUOTE]
And the consequence for this mistake is that you don't get to play your game online with the people who don't hack anymore.
Refactored JS. need to fix indentation and cleanup comments, then add new, better comments
debateflow.us
[QUOTE=proboardslol;48846534]Refactored JS. need to fix indentation and cleanup comments, then add new, better comments
debateflow.us[/QUOTE]
Very nice. You even got the "suck me into the matrix" feature in!
[t]http://i.imgur.com/y6V3U1i.png[/t]
I will never flow my debates the same way again after using this glorious web site.
[QUOTE=Berkin;48846627]Very nice. You even got the "suck me into the matrix" feature in!
[t]http://i.imgur.com/y6V3U1i.png[/t]
I will never flow my debates the same way again after using this glorious web site.[/QUOTE]
Wow uh...
Can honestly say I have no idea what's causing that. Like, zero fucking clue. Nobody else has reported this
I've been doing a lot of work studying how to view and describe systems effectively and simply, like the Data-Context-Interaction model. This has included spending hours practicing looking at objects at thinking of notation to capture its form and function (especially water bottles), reading tons of philosophy (buddhism, daoism, marx, and more), and spending time observing nature.
Combining that with other design theories I've been developing, I think I've nearly worked it out enough that I can write an interpreter for the notation and process it
The main goal is easy representation-independent modeling of any system. There's still a few things to get worked out in how to do interactions but I had a flash of insight into how to do that tonight. Just representing something I think I've got down pat, though. It's this funky mix of a tree structure and prototyping, so a context is the abstract definition of an object, and it's filled with primitives and specifications of other objects and what their own properties are required to be part of the larger object.
It's confusing and hard to describe in those terms though, it makes a lot more sense to think of it as classes defined implicitly by patterns that they fit, rather than explicitly as a perfect form of a "thing" that enacts "methods". Because of this interactions, data, and usages of objects are also implicit rather than explicit. Objects can carry as many properties as they end up accumulating from their history of interactions, or be transformed entirely at any time (eg. light something on fire and it loses most of its previous features, and thus is no longer viable in any associated interaction, and depending on how representation is implemented, it could be automatically updated based on this.). Different objects can also be dynamically interchanged within a context/interaction with different results, without having to hardcode that difference, as long as they have the features to fit the pattern.
I'll probably try to integrate the processing of it into my AI, so it can use it to represent mental models. I could probably have it run simulations directly from how it's stored in the semantic network.
I'm really, really determined to make a detailed universe simulator so I can create artificial consciousness within it. Even willing to devote my entire academic career to it
edit: for content and sanity's sake, here's an sample of an older version of the notation for two concrete objects and an abstract description of a waterbottle
[code]
Cup:Object
-Material:Ceramic
-Container:Object
-Contents:Liquid
-Mix:[Milk:95,ChocolateSyrup:5] (I'll get this sorted eventually)
-Amount:0.24L
-Capacity:0.25L
-Opening:*Top
-Top:Object
-Material:Air
-Diameter:3in
Pen:Object
-Toggled:False
-Inkwell:Object
-Contains:Liquid
-Mix:[Ink:100]
-Amount:10ml
-Capacity:10ml
-WritingTip:Object
-Source:*Inkwell
Waterbottle:Context
-Material:Object
-Hard
-Container:Object
-Opening:Neck
-Neck:Object
-Material:Object
-Hard
~Cap:Object (~ means the role is optional)
-Material:Object
-Hard
[/code]
The newer version includes some deep conceptual changes, such as how something like a container is defined (the matter of the bottle, the empty space defined by that matter, or both?)
Oh you fucker
[QUOTE=ZenX2;48846914]
...
I'm really, really determined to make a detailed universe simulator so I can [B]create artificial consciousness[/B] within it. Even willing to devote my entire academic career to it
...[/QUOTE]
This was me once.
Godspeed, dude.
Some random videos from my game, haven't posted here in a while:
Shaders / death effect
[vid]http://files.catbox.moe/2d1159.mp4[/vid]
More shaders
[vid]http://files.catbox.moe/1bed43.mp4[/vid]
Gif sprays(viewable to everyone in the server). There is also a custom boombox song you can use which everyone can hear
[vid]http://files.catbox.moe/48d370.mp4[/vid]
[QUOTE=Rocket;48846721]Do you think I don't understand what the consequences are? Yeah, I know that. [i]That's what I'm arguing against[/i].[/QUOTE]
You decide to ruin someone's game, your game is ruined. I don't see a problem with it. Fuck hackers.
[QUOTE=Berkin;48847094]This was me once.
Godspeed, dude.[/QUOTE]
I've decided to start learning how to program because I saw these things and said "I have got to make one of those!". :v:
[t]http://i.imgur.com/2G44ooC.jpg[/t]
[QUOTE=Tamschi;48844622]This is equivalent to pathing in 2D with Manhattan distance where diagonals that cost 2 are also allowed in case the direct path to that tile is blocked: [code]# is a wall, A is the start, B is the end
#B
A#[/code]
It depends. The problem specification is the same, but the heuristic is possibly different and I don't know which is better.
Sorry, I was mistaken about the amount of dimensions: Due to the 2D layout it makes more sense to use double the dimensions, i.e. 2*4*4 = 32, or 30 without the explicit 0 tile.
You can unfold the 8/6 dimensions of 2x2 on paper since you only need the nodes, but it would be really ugly and involve a lot of curved lines.
It's possible to show it for a single coordinate cube with a 3x1 puzzle though:
All valid diagonals move along the first axis and if you remove that axis there is no overlap among the valid nodes.
It's therefore possible (and a bit easier) to draw if I disregard that axis from the get-go:
[code]1.
x1x2 (e.g. 12 for the solution) are coordinate pairs of tiles 1 and 2, defining a whole board state.
The coordinate of tile 0 is implicitly the unused item in {0, 1, 2}.
The full graph then looks as follows:
00-01-02
| | |
10-11-12
| | |
20-21-22
(This equals looking at the above graph from the right.)
2.
Since you always only one other tile than tile 0, you can only move to direct neighbours.
Any node that has stacked tiles is pruned:
01-02
|
10 12
|
20-21
3. Any connections that don't swap tile zero (not shown) with an adjacent tile happen to be already removed in this case.
As you can see the graph broke into two parts. The lower part is unsolvable towards the correct solution, but both are quite obviously internally optimally solvable using A* with Manhattan distance as heuristic.[/code]
The picture at higher dimensions is a lot more complex, but the process is exactly the same, with each step only pruning and not distorting the graph.
This means A* remains perfectly compatible with the problem at higher dimensions too.
(I really need to make a library to draw these for me.)[/QUOTE]
Well, you've convinced me that it works in a 3 game. I'll have to think about it some more.
So the heuristic should then be 'sum |b(i)-goal(i)|' right?
[QUOTE=Darwin226;48847571]Well, you've convinced me that it works in a 3 game. I'll have to think about it some more.
So the heuristic should then be 'sum |b(i)-goal(i)|' right?[/QUOTE]
Assuming that's the sum of Manhattan distances: Yes.
In the first representation where the diagonals cost two you sum the goal distances of all tiles including the empty tile 0.
In the second representation where all valid diagonals are flattened into simple edges with cost one, you only count the Manhattan distances of actual tiles from their goal.
(You could also just multiply one of the values with 2 to mix the approaches, since the second graph is always topologically the same as the first but with halved edge cost.
This is the reason I think your initial algorithm is already A* looking for an optimal solution.)
[editline]7th October 2015[/editline]
I'm pretty sure this also is proof that A*, depending on the graph topology, doesn't need the heuristic to have the [I]exact[/I] same scale as the cost of the path so far.
[QUOTE=Tamschi;48847657]Assuming that's the sum of Manhattan distances: Yes.
In the first representation where the diagonals cost two you sum the goal distances of all tiles including the empty tile 0.
In the second representation where all valid diagonals are flattened into simple edges with cost one, you only count the Manhattan distances of actual tiles from their goal.
(You could also just multiply one of the values with 2 to mix the approaches, since the second graph is always topologically the same as the first but with halved edge cost.
This is the reason I think your initial algorithm is already A* looking for an optimal solution.)
[editline]7th October 2015[/editline]
I'm pretty sure this also is proof that A*, depending on the graph topology, doesn't need the heuristic to have the [I]exact[/I] same scale as the cost of the path so far.[/QUOTE]
When you say Manhattan distance, are you talking abou the distance in the n-dimensional space, or the distance of a tile to it's goal on the game grid?
Sorry, you need to Log In to post a reply to this thread.